<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      /**
       * @param {number[]} nums
       * @return {number}
       */
      var singleNumber = function (nums) {
        // 将数组排序，排序之后比较相邻的数字，不等既是单独的（有且仅有一个不重复的数字,重复数字只出现两个）
        nums.sort();
        for (var i = 0; i < nums.length; i++) {
          // 由于只有两个数字相同，排序后比较前后即可；如果相同直接跳到第三个数字比较
          if (nums[i] === nums[i + 1]) {
            i++;
          } else {
            return nums[i];
          }
        }
        // return 1;
      };

      var nums = [3, 4, 2, 4, 2];
      console.log(singleNumber(nums));
    </script>
  </body>
</html>
